package com.dyz.leetcode._02_string;

public class _12_intToRoman {
    public String intToRoman(int num) {
        // I 1   IV 4   V 5  IX 9 X 10  XL 40 L50  XC 900 C100  CD 400 D 500 CM 900 M1000
        // 使用贪心的算法
        // 把阿拉伯数字与罗马数字可能出现的所有情况和对应关系，放在两个数组中
        int[] nums = {1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1};
        String[] romans = {"M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I"};

        StringBuilder res = new StringBuilder();
        int index = 0;
        while(index<13){
            while(nums[index]<=num){
                res.append(romans[index]);
                num -= nums[index];
            }
            index++;
        }
        return res.toString();
    }
}
